A host device may want to restore a parent LUN (e.g., a Logical Unit Number that corresponds to a physically addressable storage unit) for a variety of reasons (e.g., swap, data protection, split, merge). The parent LUN may be located on a volume of a storage system (e.g., the volume may have many LUNs) that is accessible to the host device through a network (e.g., a local area network, a wide area network, a storage area network).
To restore the parent LUN, the system may need to restore every LUN on the volume because a restore operation may need to be performed at a volume level. Restoration at the volume level may be space inefficient because additional storage space may be required for restoration of LUNs that the host device does not request. For example, during a restore operation, the volume may not be available for a read/write request from the host device. Thus, the volume may be offline for a period of time. Even when the restore operation occurs in the background, processing cycles may be wasted during a block transfer. Similarly, processing cycles may be wasted when the restore operation is performed using indirect blocks. The restore operation using indirect blocks may not be accessible through a command line interface and may consume added space on the storage system. Consequently, additional processing power and time may be needed (e.g., because of more storage I/O, meta-data lookups for the I/O) to restore the unrequested LUNs resulting in productivity losses and delay. As a result, network performance may be degraded.